package com.example.xiaoshuo_yudu.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.xiaoshuo_yudu.entity.entity.Books;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 小说基本信息表 服务类
 * </p>
 *
 * @author xusen
 * @since 2025-07-24
 */
@Service
public interface BooksService extends IService<Books> {
    /**
     * 返回前端text数组数据，包含各类榜单
     * @return
     */
    List<Object> rank();
    /**
     * 获取推荐书籍列表
     * @return
     */
    List<Object> getRecommendAll();

    /**
     * 获取男生频道书籍列表
     * @return
     */
    List<Object> getBoyChannelBooks();

    /**
     * 获取女生频道书籍列表
     * @return
     */
    List<Object> getGirlChannelBooks();

    /**
     * 获取小说名字和简介
     * @return
     */
    List<Map<String, Object>> getNameAndIntro();

    /**
     * 获取新人频道书籍列表
     * @return
     */
    List<Object> getnewChannelBooks();

    /**
     * 单本书的详细信息
     * @param bookId
     * @return
     */
    Map<String, String> getListDetail(Integer bookId);

    /**
     * 获取小说列表
     * @param bookId
     * @return
     */
    List<Map<String, Object>> getChapterListByBookId(Integer bookId);

    /**
     * 获取小说章节
     * @param bookId
     * @param chapterId
     * @return
     */
    Map<String, Object> getChapterDetail(Integer bookId, Integer chapterId);
    /***
     *获取各小说页主页头
     */
    List<Map<String, Object>> getBooksList(String name);
    /***
     *获取各小说页主页下左
     */
    List<Map<String, Object>> getBooksDataList(String name);
    /***
     *获取各小说页主页下右
     */
    List<Map<String, Object>> getBooksData(String name);

    /**
     * 搜索
     * @param keyword
     * @return
     */
    List<Map<String, Object>> searchBookByKayword(String keyword);

    /**
     * 获取分类
     * @param bookId
     * @return
     */
    String getCategories(Long bookId);
}
